package com.dieusoft.box.ship.entity;


import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * null
 *
 * @author
 * @date Tue Jan 12 16:48:53 CST 2021
 */
@Data
@TableName("ship_export")
public class ShipExport {
    /**
     * null
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;
    /**
     * 订单编号
     */
    @ApiModelProperty(value = "订单编号")
    @Excel(name = "订单编号", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String orderNumber;
    /**
     * 报价编号
     */
    @ApiModelProperty(value = "报价编号")
    @Excel(name = "报价编号", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String offerNumber;
    /**
     * 委托单位
     */
    @ApiModelProperty(value = "委托单位")
    @Dict(dicCode = "id", dictTable = "customer_info", dicText = "title")
    @Excel(name = "委托单位", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String entrustCompany;
    /**
     * 客户业务编号
     */
    @ApiModelProperty(value = "客户业务编号")
    @Excel(name = "客户业务编号", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String customerNumber;
    /**
     * 贸易条款
     */
    @ApiModelProperty(value = "贸易条款")
    @Excel(name = "贸易条款", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String tradeClause;
    /**
     * 托运类型
     */
    @ApiModelProperty(value = "托运类型")
    @Excel(name = "托运类型", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String consignmentType;
    /**
     * 服务类型
     */
    @ApiModelProperty(value = "服务类型")
    @Excel(name = "服务类型", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String serviceType;
    /**
     * 订舱代理
     */
    @Dict(dicCode = "id", dictTable = "customer_info", dicText = "title")
    @ApiModelProperty(value = "订舱代理")
    @Excel(name = "订舱代理", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String bookingAgent;
    /**
     * 国外代理
     */

    @Dict(dicCode = "id", dictTable = "foreign_agent_info", dicText = "title")
    @ApiModelProperty(value = "国外代理")
    @Excel(name = "国外代理", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String foreignAgent;
    /**
     * 合约号
     */
    @ApiModelProperty(value = "合约号")
    @Excel(name = "合约号", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String contractNumber;
    /**
     * 船公司
     */
    @ApiModelProperty(value = "船公司")
    @Excel(name = "船公司", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String shipCompany;
    /**
     * 船代
     */
    @ApiModelProperty(value = "船代")
    @Excel(name = "船代", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String shipAgent;
    /**
     * 货值
     */
    @ApiModelProperty(value = "货值")
    @Excel(name = "货值", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String goodsValue;
    /**
     * 保费
     */
    @ApiModelProperty(value = "保费")
    @Excel(name = "保费", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String premium;
    /**
     * UN NO.
     */
    @ApiModelProperty(value = "UN NO.")
    @Excel(name = "UN NO.", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String unNo;
    /**
     * CLASS NO.
     */
    @ApiModelProperty(value = "CLASS NO.")
    @Excel(name = "CLASS NO.", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String classNo;
    /**
     * 截申报时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "截申报时间")
    @Excel(name = "截申报时间", width = 15, format = "yyyy-MM-dd")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date deadlineDeclaration;
    /**
     * 起运港
     */
    @ApiModelProperty(value = "起运港")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String portDeparture;
    /**
     * 目的港
     */
    @ApiModelProperty(value = "目的港")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String portDestination;
    /**
     * 中转港代码
     */
    @ApiModelProperty(value = "中转港代码")
    @Excel(name = "中转港代码", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String transferPortCode;
    /**
     * 箱型
     */
    @ApiModelProperty(value = "箱型")
    @Excel(name = "箱型", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String boxType;
    /**
     * 箱量
     */
    @ApiModelProperty(value = "箱量")
    @Excel(name = "箱量", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String boxSize;
    /**
     * ETD
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "ETD")
    @Excel(name = "ETD", width = 15, format = "yyyy-MM-dd")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date etd;
    /**
     * 截单时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "截单时间")
    @Excel(name = "截单时间", width = 15, format = "yyyy-MM-dd")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date cutOffTime;
    /**
     * 截关时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "截关时间")
    @Excel(name = "截关时间", width = 15, format = "yyyy-MM-dd")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date cutCheTime;
    /**
     * 主单号
     */
    @ApiModelProperty(value = "主单号")
    @Excel(name = "主单号", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String mainOffNumber;
    /**
     * 主单号加拼
     */
    @ApiModelProperty(value = "主单号加拼")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String mainOffNumberJp;
    /**
     * 分单号
     */
    @ApiModelProperty(value = "分单号")
    @Excel(name = "分单号", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String otherOffNumber;
    /**
     * 分单号加拼
     */
    @ApiModelProperty(value = "分单号加拼")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String otherOffNumberJp;
    /**
     * 船名
     */
    @ApiModelProperty(value = "船名")
    @Excel(name = "船名", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String shipName;
    /**
     * 航次
     */
    @ApiModelProperty(value = "航次")
    @Excel(name = "航次", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String voyageNumber;
    /**
     * 码头
     */
    @ApiModelProperty(value = "码头")
    @Excel(name = "码头", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String wharf;
    /**
     * 发货人
     */
    @ApiModelProperty(value = "发货人")
    @Excel(name = "发货人", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String consignor;
    /**
     * 收货人
     */
    @ApiModelProperty(value = "收货人")
    @Excel(name = "收货人", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String consignee;
    /**
     * 通知人
     */
    @ApiModelProperty(value = "通知人")
    @Excel(name = "通知人", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String notifier;
    /**
     * 第二通知人
     */
    @ApiModelProperty(value = "第二通知人")
    @Excel(name = "第二通知人", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String secNotifier;
    /**
     * 国外代理
     */
    @ApiModelProperty(value = "国外代理")
    @Excel(name = "国外代理", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String formForeignAgent;
    /**
     * 唛头
     */
    @ApiModelProperty(value = "唛头")
    @Excel(name = "唛头", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String shipMarks;
    /**
     * 英文品名
     */
    @ApiModelProperty(value = "英文品名")
    @Excel(name = "英文品名", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String enName;
    /**
     * 总件数
     */
    @ApiModelProperty(value = "总件数")
    @Excel(name = "总件数", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String total;
    /**
     * 委托总件数类型
     */
    @ApiModelProperty(value = "委托总件数类型")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String totalType;
    /**
     * 总毛重
     */
    @ApiModelProperty(value = "总毛重")
    @Excel(name = "总毛重", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String totalGrossWeight;
    /**
     * 总体积
     */
    @ApiModelProperty(value = "总体积")
    @Excel(name = "总体积", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String totalVolume;
    /**
     * 付款方式
     */
    @ApiModelProperty(value = "付款方式")
    @Excel(name = "付款方式", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String payType;
    /**
     * 运输条款
     */
    @ApiModelProperty(value = "运输条款")
    @Excel(name = "运输条款", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String transportClause;
    /**
     * 提单形式
     */
    @ApiModelProperty(value = "提单形式")
    @Excel(name = "提单形式", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String formLading;
    /**
     * 订舱备注
     */
    @ApiModelProperty(value = "订舱备注")
    @Excel(name = "订舱备注", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String bookingRemarks;
    /**
     * 配舱备注
     */
    @ApiModelProperty(value = "配舱备注")
    @Excel(name = "配舱备注", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String allocationRemarks;
    /**
     * 操作人员
     */
    @ApiModelProperty(value = "操作人员")
    @Excel(name = "操作人员", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String operator;
    /**
     * 业务人员
     */
    @ApiModelProperty(value = "业务人员")
    @Excel(name = "业务人员", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String busPersonnel;
    /**
     * 客服人员
     */
    @ApiModelProperty(value = "客服人员")
    @Excel(name = "客服人员", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String cusServiceStaff;
    /**
     * 进程
     */
    @ApiModelProperty(value = "进程")
    @Excel(name = "进程", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String process;
    /**
     * 业务类型
     */
    @ApiModelProperty(value = "业务类型")
    @Excel(name = "业务类型", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String busType;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * null
     */
    private String createBy;
    /**
     * null
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * null
     */
    private String updateBy;
    /**
     * null
     */
    private String sysOrgCode;

//    交货地  placeDelivery
//    目的地 destination
//    场站 station
//    报关行 customsBroker
//    货物标识 goodsMark
//    箱信息 boxInfo


    private String placeDelivery;
    private String destination;
    @Dict(dicCode = "station_code")
    @Excel(name = "场站", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String station;
    //报关行
    @Dict(dicCode = "customsBroker_code")
    @Excel(name = "报关行", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String customsBroker;
    //货物标示
    @Dict(dicCode = "goods_mark")
    @Excel(name = "货物标示", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String goodsMark;
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String boxInfo;

    @Excel(name = "起运港", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String polRemark;

    @Excel(name = "卸货港", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String podRemark;
    /*********************************************2021-03新增*******************************************************/

    //截港时间
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截港时间", width = 15, format = "yyyy-MM-dd")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date closingTime;
    //仓库
    @Dict(dicCode = "ship_warehouse")
    @Excel(name = "仓库", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String wareHouse;
    //收货地
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String receiveAddress;
    //装运方式
    @Dict(dicCode = "shipmeng_mode")
    @Excel(name = "装运方式", width = 15)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String shipmentMode;

    //总件数大些
    @Excel(name = "总件数", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String totalCap;
    //签单日期
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签单日期", width = 30, format = "yyyy-MM-dd")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date signBillTime;

    //签单地点
    @Excel(name = "签单地点", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String signBillAddress;

    //提单份数
    @Dict(dicCode = "ship_number")
    @Excel(name = "提单份数", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String numberOfBill;

    //预付地点
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String prepaidAt;

    //到付地点
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String arrivalPlace;

    //收货地详细地址
    @Excel(name = "收货地", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String receiveAddressDesc;
    //交货地详细地址
    @Excel(name = "交货地", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String placeDeliveryDesc;

    //目的地详细地址
    @Excel(name = "目的地", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String destinationDesc;
    //预付地点详细地址
    @Excel(name = "预付地点", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String prepaidAtDesc;
    //到付地点详细地址
    @Excel(name = "到付地点", width = 30)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String arrivalPlaceDesc;

    @TableLogic
    private Integer delFlag;

}
